package org.example.io.ex5;

import java.io.*;

public class Demo {
    public static void main(String[] args) throws IOException {
//        // 使用文件名称创建流对象
//        try (FileWriter fw = new FileWriter("fw.txt", Charset.forName("GBK"), true)){
//            // 写出数据
//            fw.write(97); // 写出第1个字符
//            fw.write('b'); // 写出第2个字符
//            fw.write('C'); // 写出第3个字符
//            fw.write(30000); // 写出第4个字符，中文编码表中30000对应一个汉字。
//        } catch (IOException e){
//            e.printStackTrace();
//        }

        // 使用File对象创建流对象
//        File file = new File("fw.txt");
//        FileReader fr = new FileReader(file, Charset.forName("GBK"));
//        // 定义变量，保存数据
//        int b;
//        try {
//            // 循环读取
//            while ((b = fr.read())!=-1) {
//                System.out.println((char)b);
//            }
//        } catch (IOException e) {
//            e.printStackTrace();
//        } finally {
//            // 关闭资源
//            try {
//                fr.close();
//            } catch (IOException e) {
//                throw new RuntimeException(e);
//            }
//        }

        try (FileInputStream fis = new FileInputStream("fw.txt")){
            byte[] bytes = new byte[10];
            int read = fis.read(bytes, 0, 10);
            System.out.println(read);

            read = fis.read(bytes, 0, 10);
            System.out.println(read);

            read = fis.readNBytes(bytes, 0, 10);
            System.out.println(read);
        } catch (IOException e){
            e.printStackTrace();
        }
    }
}
